package com.boatAnchorAssistant.service.service.in;

import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import nirvana.core.domains.vo.PageResult;
import com.boatAnchorAssistant.pojo.param.alarmPushLog.*;
import com.boatAnchorAssistant.pojo.vo.alarmPushLog.*;

import java.util.List;


/**
 * 【描 述】：报警推送日志服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface AlarmPushLogService {

    /**
     * 创建报警推送日志
     *
     * @param param
     */
    void createAlarmPushLog(CreateAlarmPushLogParam param);

    /**
     * 修改报警推送日志
     *
     * @param param
     */
    void editAlarmPushLog(EditAlarmPushLogParam param);

    /**
     * 移除报警推送日志
     *
     * @param id
     */
    void removeAlarmPushLog(Long id);

    /**
     * 启动/禁用报警推送日志
     *
     * @param id
     */
    void enabledAlarmPushLog(Long id);


    /**
     * 获取报警推送日志详情
     *
     * @param id
     * @return
     */
    GetAlarmPushLogVo getAlarmPushLog(Long id);

    /**
     * 获取报警推送日志列表
     *
     * @param param
     * @return
     */
    PageResult<GetAlarmPushLogListVo> getAlarmPushLogList(GetAlarmPushLogListParam param);


    /**
     * 获取报警推送日志下拉列表
     *
     * @param param
     * @return
     */
    List<GetAlarmPushLogDownListVo> getAlarmPushLogDownList(GetAlarmPushLogDownListParam param);

    /**
     * 接收报警推送的json过来
     */
    void receiveAlarmPushLog(JSONObject json);


}